package linguo.level.mapObjects;

import java.awt.image.BufferedImage;

import linguo.level.Board;
import linguo.player.Bullet;
import linguo.player.Robot;

public abstract class Coleccionable extends MapObject {

	public Coleccionable(Board board, int x, int y, CasilleroTransitable casillero) {
		super(board, x, y, casillero);
	}

	public boolean isSolid() {
		return false;
	}

	public void transitar(Robot robot) {
	}

	public void atacar(Bullet bullet) {
	}

	public void recoger(Robot robot) {
		if (existe) {
			robot.addColeccionable(this);
			
			board.removerObjeto(this);
			existe = false;
		}
	}

	/**
	 * Deja el objeto en el mapa, y le dice a board que lo dibuje
	 */
	public void droppear() {
		if (!existe) {
			board.agregarObjeto(this);
			existe = true;
		}
	}
	
	/**
	 * Devuelve la imagen asociada al objeto
	 * @return Imagen
	 */
	public BufferedImage getImage () {
		return this.image;
	}

}
